import {
    getToken,
} from './storage.js'
const baseURL = getApp().globalData.domain
const login_page_url = getApp().globalData.login_page_url

//统一请求
const Request = function request(option) {
    return new Promise(function (resolve, reject) {
        let header = {
            "token": getToken(), //携带token在请求头中
        };
		console.log(header)
        uni.showLoading({
            mask:true,
        })
        uni.uploadFile({
            url: baseURL + option.url,
            name: 'file', // 如果data没有传入，就给空串，不然就序列化
            filePath: filePath, //要上传文件资源的路径
            header: header, //请求头
            timeout: 5000, //超时时间 5s
            success(res) {
                //请求成功,此处根据你的业务返回的状态码进行修改
                // 状态码，0=错误，1=通过，-1=需要登录，-2=账号已被禁用
                uni.hideLoading()
				// console.log(res)

                if (res.statusCode === 200) {
                    if (res.data.code === -1) {
                        //登录状态失效，需要重新刷新数据
                        uni.showToast({
                            title: '请登录',
                            icon: 'none'
                        })
                        uni.removeStorageSync('token')
                        setTimeout(() => {
                            uni.redirectTo({
                                url: login_page_url,
                            })
                        }, 1000)
                    } else if(res.data.code === 0){
                        uni.showToast({
                            title: res.data.msg,
                            icon: 'none'
                        })
                        resolve(res.data);
                    } else {
                        resolve(res.data);
                    }
                } else {
                    //其他异常
                    reject('运行时错误,请稍后再试');
                }
            },
            fail(err) {
                //请求失败
                reject(err)
            }
        })
    })
}


//导出
module.exports = Request